home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / programmmanager / xtoolbox / xtoolbox.guide (.txt) < prev    next >
Amigaguide Document  |  1996-04-07  |  14KB  |  273 lines

  1. @DATABASE "Default"
  2. @NODE "MAIN" "XToolBox - Main"
  3. @NEXT "DISCLAIMER"
  4.                                @{b}XTOOLBOX 1.1
  5.                           released 30-October-1995 by
  6.                                Dennis Doomen@{ub}
  7.         @{b}Contents
  8.         --------@{ub}
  9.         @{"Disclaimer" LINK "DISCLAIMER"}          Make sure you read this.
  10.         @{"Introduction" LINK "INTRODUCTION"}        What is it, and what can it do for you.
  11.         @{"Requirements" LINK "REQUIREMENTS"}        What do you need.
  12.         @{"Background" LINK "BACKGROUND"}          Why did I make this.
  13.         @{"Getting Started" LINK "GETTINGSTARTED"}     How to create a ToolBox.
  14.         @{"Bug Report" LINK "BUGREPORT"}          Bugs known and how to report them.
  15.         @{"About The Author" LINK "AUTHOR"}    Who am I and how can you reach me.
  16.         @{"Thanks To" LINK "THANKS"}           People who 'stood' beside me.
  17.         @{"History" LINK "HISTORY"}             About the developing history.
  18.         @{"To Do" LINK "TODO"}               Plans for the future
  19. @ENDNODE
  20. @NODE "DISCLAIMER" "XToolBox - Disclaimer"
  21. @NEXT "INTRODUCTION"
  22. @PREV "MAIN"
  23. @TOC "MAIN"
  24. @{b}DISCLAIMER
  25. ----------@{ub}
  26. I've released @{i}XToolBox@{ui} under the concept of @{b}FREEWARE@{ub}, so everyone may use
  27. it for whatever reasons they want. However, I am and will NOT be
  28. responsible for any damage to your environment and system as a result of
  29. the operation of @{i}XToolBox@{ui}. Nevertheless, I cannot imagine any situation
  30. (except crashing) that could damage anything.
  31. @ENDNODE
  32. @NODE "INTRODUCTION" "XToolBox - Introduction"
  33. @NEXT "REQUIREMENTS"
  34. @PREV "DISCLAIMER"
  35. @TOC "MAIN"
  36. @{b}INTRODUCTION
  37. ------------@{ub}
  38. @{i}XToolBox@{ui} is what I always wanted to have, a menutool like the WindowManager
  39. you've maybe have seen once on a UNIX-station with XWindows. But if you didn't,
  40. it consists of a window with a number of gadgets (BOOPSI objects). Whenever you
  41. press one of them, a menuwindow will pop up displaying a list of items. While
  42. holding down the left mousebutton you can move the mouse above one of these
  43. items (this will be indicated by a bevelbox). Release the button, and the command
  44. defined for that menuitem is executed.
  45. Both the gadgets and the menuwindows are rendered in a nice 3D look and the
  46. number of menus and menuitems is only limited by the size of your screen.
  47. @{i}XToolBox@{ui} uses a new BOOPSI gadgetclass that I have created for it (see
  48. @{"Background" LINK "BACKGROUND"}).
  49. @ENDNODE
  50. @NODE "REQUIREMENTS" "XToolBox - Requirements"
  51. @NEXT "BACKGROUND"
  52. @PREV "INTRODUCTION"
  53. @TOC "MAIN"
  54. @{b}REQUIREMENTS
  55. ------------@{ub}
  56. @{i}XToolBox@{ui} requires the following resources:
  57.   - Any Amiga that is equiped with Kickstart 3.0 or higher
  58.   - The excellent @{b}Reqtools-library@{ub} (c) @{i}Nico Francois@{ui} (not included)
  59.   - A good texteditor to design the menus
  60. I could have made it OS2.0 compatible, but using 3.0+ functions made it a
  61. little easier for me. However, if I get enough requests, I will try to
  62. alter the program in order to make it OS2.0+ compatible.
  63. @ENDNODE
  64. @NODE "BACKGROUND" "XToolBox - Background"
  65. @NEXT "GETTINGSTARTED"
  66. @PREV "REQUIREMENTS"
  67. @TOC "MAIN"
  68. @{b}BACKGROUND
  69. ----------@{ub}
  70. The reason for creating another menu-utility, was that I was not satisfied
  71. with the current available ones. I was using @{b}ButtonMenu@{ub} by @{i}Oliver Roberts@{ui}
  72. till now, but I wanted to have something like the WindowManager on UNIX
  73. systems.
  74. I previously was working on a music-database and I needed some custom
  75. designed gadgets, so I created a shared library with some extensions to
  76. Gadtools. I was aware of the @{b}BOOPSI@{ub} concept, but I simply did not have any
  77. documentation, except for the RKRM-examples. But then I found some
  78. GUI-libraries and saw what can be done with BOOPSI, so I decided to reserve
  79. some time to study the concept. With the help of the RKRM-examples,
  80. information from the Amiga-magazines and help from the Internet-community, I
  81. succeeded in creating my first BOOPSI gadgetclass, the @{b}PopUpMenu@{ub}-gadgetclass.
  82. If you've have looked at the buttons in the windowmenu, you should now that
  83. every button (including it's menu) is a BOOPSI object from that class. I
  84. will release the source for the class whenever I have finished it. The
  85. reason for that is, that I want to add some extra features to it. But if
  86. you are interested though, feel free to @{"contact" LINK "BUGREPORT"} me.
  87. @ENDNODE
  88. @NODE "GETTINGSTARTED" "XToolBox - Getting Started"
  89. @NEXT "BUGREPORT"
  90. @PREV "BACKGROUND"
  91. @TOC "MAIN"
  92. @{b}GETTING STARTED
  93. ---------------@{ub}
  94. @{b}USAGE@{ub}
  95. @{i}XToolBox@{ui} is driven by a configuration file supplied as a plain ASCII textfile.
  96. This file contains keywords which define the various options of the @{i}XToolBox@{ui}
  97. window. By default, @{i}XToolBox@{ui} opens the file @{i}s:XToolBox.menu@{ui}, but you
  98. may specify any other file at the command line by entering:
  99.     @{i}XToolBox <menufile>@{ui}
  100. (Note that it autodetaches from the command line.)
  101. To make thinks a little bit clearer, I've included an example menufile in the
  102. package. I've also included a template which contains keywords only.
  103. This configurationfile consists out of two parts, the environment definition and
  104. the actual menu definition.
  105. @{b}ENVIRONMENT@{ub}
  106. The following keywords may (or must) be used in the first part of the
  107. configuration; keywords are caseinsensitive and all strings must be enclosed by
  108. quotes.
  109.     @{b}TITLE@{ub} "title"       This keyword defines the title of the @{i}XToolBox@{ui} window on
  110.                         the screen, e.g. TITLE "This is my ToolBox"
  111.     @{b}XPOS@{ub} nnn            Defines the horizontal coordinate of the topleft edge of
  112.                         the window, e.g. XPOS 0
  113.     @{b}YPOS@{ub} nnn            Defines the vertical coordinate of the topleft edge of
  114.                         the window, e.g. YPOS 14
  115.     @{b}WIDTH@{ub} nnn           This keyword defines the width of the menugadgets used in
  116.                         the @{i}XToolBox@{ui} window. The reason that you can't specify
  117.                         the actual width of the window, is that this will result
  118.                         in gadgets that sometimes are a little bit smaller and
  119.                         sometimes a little bit wider. Example: WIDTH 60
  120.     @{b}HEIGHT@{ub} nnn          The height of the menugadgets, e.g. HEIGHT 16
  121.     @{b}SPACING@{ub} nnn         Defines the number of pixels between every menuitem in a
  122.                         popup menu; defaults to 2.
  123.     @{b}FONT@{ub} "name/size"    Specifies the font used for the gadgetlabel and the
  124.                         menuitems in the popupmenu, e.g. FONT "topaz/8"
  125. The following keywords are used to specify the colors for the gadgets and the
  126. menus. They all must be supplied a hexadecimal number preceded by '@{i}0x@{ui}'.
  127. The format is @{i}0xRRGGBB@{ui}, where @{i}RR@{ui} specifies the 8bit red value,
  128. @{i}GG@{ui} the green value and @{i}BB@{ui} the blue value. For example
  129. @{i}0xff03ff@{ui} means red=255, green=3 and blue=255.
  130.     @{b}GADGETBACK@{ub}          Defines the gadgets' backgroundcolor.
  131.     @{b}GADGETBRIGHT@{ub}        Defines the color of the bright edges of the gadgets.
  132.     @{b}GADGETDARK@{ub}          Defines the color of the dark edges of the gadgets.
  133.     @{b}MENUBACK@{ub}            Defines the menus' backgroundcolor.
  134.     @{b}MENUBRIGHT@{ub}          Defines the color of the bright edges of the menus.
  135.     @{b}MENUDARK@{ub}            Defines the color of the dark edges of the menus.
  136.     @{b}TEXT@{ub}                Defines the textcolor of both the gadgetlabels and the
  137.                         menuitems.
  138. For example,
  139.     @{i}GADGETBACK 0xbbb0bb@{ui}
  140. Will make the gadgets' background light-grey.
  141. @{b}MENU@{ub}
  142. The menus are defined by three keywords: @{b}MENU@{ub}, @{b}ENTRY@{ub}, @{b}CMD@{ub}
  143. The first one, @{b}MENU@{ub}, creates a menugadget labeled with the argument of this
  144. keyword. For example,
  145.     @{i}MENU "Utilities"@{ui}
  146. will create one gadget labeled "Utilities". You may create as many menus as you
  147. want, as long as they fit on the screen.
  148. The next two keywords define the menuitem and its commandline, for example,
  149.     @{i}ENTRY "XToolBox prefs"      CMD "edit s:XToolBox.menu"@{ui}
  150. will create a menuitem in the current menu with name "XToolBox prefs". When
  151. selected this will execute your favourite editor in order to change your default
  152. @{i}XToolBox@{ui} configuration.
  153. Make sure that all strings are enclosed by quotes and that every associating
  154. ENTRY and CMD keyword are placed on the same line. Also make sure that there is an
  155. empty line between the last ENTRY keyword and the next MENU keyword.
  156. You may also insert a blank line in a menu by inserting the following line:
  157.     @{i}ENTRY ""@{ui}
  158. To summerize, another example:
  159.     @{i}MENU "menu 1"
  160.     ENTRY "item 1"      CMD "do something"
  161.     ENTRY "item 2"      CMD "do something"
  162.     ENTRY ""
  163.     ENTRY "item 3"      CMD "do something"
  164.     MENU "menu 2"
  165.     ENTRY "item 1"      CMD "do something"
  166.     ENTRY "item 2"      CMD "do something"
  167.     ENTRY "item 3"      CMD "do something"
  168.     ENTRY "item 4"      CMD "do something"@{ui}
  169. Please look at the example included in the package.
  170. @ENDNODE
  171. @NODE "BUGREPORT" "XToolBox - Bug Report"
  172. @NEXT "AUTHOR"
  173. @PREV "GETTINGSTARTED"
  174. @TOC "MAIN"
  175. @{b}BUG REPORT
  176. ----------@{ub}
  177. If you do find any bugs or you have any questions or problems, feel free to contact me.
  178. In addition if you have any requests or suggestions don't hesitate to contact me also. This
  179. will prevent me from adding features that aren't wanted actually (and saving a lot of my
  180. time).
  181. To contact me (e.g. to tell me that you are (happily) using my program) mail to
  182.     @{i}doomen@hsbos.nl@{ui} or
  183.     @{i}d.doomen@hsbos.nl@{ui}
  184. or write to:
  185.     @{i}Dennis Doomen
  186.     Prinses Irenestraat 50
  187.     6566 BR Millingen a/d Rijn
  188.     The Netherlands@{ui}
  189. You can also find me when I am logged in, by entering:
  190.     @{i}finger doomen@client7.aixserv.hsbos.nl@{ui}
  191. This will tell you on which machine I'm working currently. To "talk" to me, enter
  192.     @{i}talk (or ntalk) doomen@machinename@{ui}
  193. @ENDNODE
  194. @NODE "AUTHOR" "XToolBox - About The Author"
  195. @NEXT "THANKS"
  196. @PREV "BUGREPORT"
  197. @TOC "MAIN"
  198. @{b}ABOUT THE AUTHOR
  199. ----------------@{ub}
  200. My name is Dennis Doomen and I am a 22 year old Dutch student in his last year
  201. of trying to get his degree and becoming an Electronic Engineer. This course
  202. consists of several directions and I have chosen for Computer Technology because
  203. that interests me the most. Therefore I should have chosen to study Informatics
  204. instead (software engineering).
  205. I started my program career when the first C64 came out and I got the Power
  206. Cartridge which allowed me to program in assembly. On that machine I created
  207. some demos and a very fast formattingtool called SuperFormat. All of that using
  208. the alias @{i}Cyberdyne@{ui}. The last thing I did was trying to create a C64
  209. version of the popular Amiga program SoundTracker (yes, a friend of mine got one
  210. of them).
  211. A short time later I got myself my first Amiga, the A500 (1.2) with 1MB memory, 2
  212. external drives (I still have them next to my A1200) and a 1084 colourmonitor.
  213. The programmingstuff started when I purchased @{b}AsmOne@{ub} and a lot of
  214. documentation. However, I did not release any software because it was either for
  215. personal use or I did not finish it at all. The only thing I finished, was a
  216. bootmenu for my utility disks which included a lot of copper work and a nice
  217. scrolling area controlled by the mouse. As a matter of fact I still do have it
  218. and it works too (except the scroller, it runs to fast). I released it using the
  219. alias @{i}Xyborg@{ui}.
  220. I now am the proud owner of a 33MHz 68030MMU equiped Amiga 1200 with a 28MHz
  221. 68881 FPU, 4MB Fast memory, a 130MB harddisk and a MicroVitec 1438 Multiscan
  222. monitor running a 896x600 WorkBench screen with 16 colours. As soon as @{b}Amiga
  223. Technologies@{ub} release a new Amiga (RISC?) I will get it. I will surely not get
  224. myself any Intel based machines (I have these at school and I hate to work
  225. with them). I love my machine and I'm still able to impress all of the PC-freaks I
  226. know, so long live the Amiga and good luck to Amiga Technologies. But these days
  227. my live is quite filled up with tasks like studying, girls, going out and listening
  228. to German Rave music. Therefore I don't have a lot of spare time to put myself in
  229. front of my machine, which is the reason that I did not produce any reasonable things
  230. till now. Although I have put down a lot of C-code during my trainingperiod at
  231. Digital Equipment Corporation in Nijmegen, the Netherlands.
  232. @ENDNODE
  233. @NODE "THANKS" "XToolBox - Thanks To"
  234. @NEXT "HISTORY"
  235. @PREV "AUTHOR"
  236. @TOC "MAIN"
  237. @{b}THANKS
  238. ------@{ub}
  239. Thanks go to the following people:
  240.     - @{b}Nico Francois@{ub}, for his excellent Reqtools library.
  241.     - All people who answered my questions on USENET.
  242.     - And especially to a guy who helped me with the BOOPSI stuff, I couldn't
  243.       recall his name, because I accidently killed my mailbox. Sorry for that,
  244.       but you know who you are.
  245. @ENDNODE
  246. @NODE "HISTORY" "XToolBox - History"
  247. @NEXT "TODO"
  248. @PREV "THANKS"
  249. @TOC "MAIN"
  250. @{b}HISTORY
  251. -------@{ub}
  252. 29-10-95  v1.1  - Added new colordefinition @{"keywords" LINK "GETTINGSTARTED"}.
  253. 27-10-95  v1.02 - BUGFIX: Moved the SystemTags() function out of the GetMsg..ReplyMsg
  254.                   loop. Hopefully does not crash anymore (still did).
  255. 25-10-95  v1.01 - @{i}XToolBox@{ui} will open by default "s:XToolBox.menu", if no menufile
  256.                   was supplied on the commandline
  257.                 - BUGFIX: Replaced Execute() with SystemTags(). It seems that no files
  258.                   crash anymore (I hope!)
  259. @ENDNODE
  260. @NODE "TODO" "XToolBox - To Do"
  261. @PREV "THANKS"
  262. @TOC "MAIN"
  263. @{b}FUTURE PLANS
  264. ------------@{ub}
  265. - Probably a preferences program, although I find it quite easy to use a text
  266.   editor.
  267. - PUBSCREEN command line keyword that specifies the public screen to open the
  268.   window on.
  269. - XWindows like windowclass that contains sizegadgets in all 8 directions.
  270. - Option to change the way the menu is opened (such as centered over the
  271.   menubutton, or above it)
  272. @ENDNODE
  273.